Recent years have seen the use of parallel computers that perform relatively large-scale calculations, for example, on problems in the field of science and technology. For example, a parallel computer uses many processors to perform calculations in a parallel manner. Individual processes operating on these processors perform calculation processing as a whole while exchanging numerical data among themselves. In this way, high operation performance is achieved.
While there are various physical problems in scientific computation, these problems could lead to a common problem format as numerical calculation processing performed in a computer. For example, to handle a physical problem, an operation called Fast Fourier Transform (FFT) is often used. FFT operations are used to calculate remote electrostatic potentials in molecular dynamics or to perform galaxy generation simulations. FFT operations are also used to solve basic equations in weather prediction, fluid analysis, structure analysis, etc. Namely, FFT operations can be applied in various fields.
See, for example, the following documents:
Japanese Laid-open Patent Publication No. 09-153029
Japanese Laid-open Patent Publication No. 2005-189970
Japanese Laid-open Patent Publication No. 2004-348493
When performing an FFT operation, a parallel computer divides input data into a plurality of data portions and performs FFT operations in a distributed manner by using a plurality of processors in a parallel manner. While communicating with each other, these processors as a whole generate an FFT operation result of the input data. An individual processor alternately repeats an FFT operation and a data communication for each of the plurality of data portions inputted thereto. However, an effective method for efficiently repeating an FFT operation and a data communication has not been developed. Namely, no existing FFT operations can be performed fast enough on input data.